A known technique for generating a signal waveform uses a memory and a D/A converter. Waveform data stored are sequentially read from a memory by specifying the address, and are converted into an analog waveform by the D/A converter. For example, a DTMF signal is generated by using two tables in order to generate two frequencies. One of the two table stores waveform data about sine waves of relatively high frequencies, and the other table stores waveform data about sine waves of relatively low frequencies. A counter is incremented at sampling timings, and the count value thus obtained specifies the addresses of the tables. Thus, waveform data are sequentially read from the tables and a resultant DTMF signal is generated. This kind of technique is described in, for example, Japanese Patent Application Publication No. 1-157604.